home *** CD-ROM | disk | FTP | other *** search
/ Aminet 49 / Aminet 49 (2002)(GTI - Schatztruhe)[!][Jun 2002].iso / Aminet / util / sys / AmberRAM.lha / AmberRAM / Source / handler_protos.h < prev    next >
C/C++ Source or Header  |  2002-02-27  |  6KB  |  133 lines

  1. /*
  2.  
  3. File: handler_protos.h
  4. Author: Neil Cafferkey
  5. Copyright (C) 2001-2002 Neil Cafferkey
  6.  
  7. This program is free software; you can redistribute it and/or
  8. modify it under the terms of the GNU General Public License
  9. as published by the Free Software Foundation; either version 2
  10. of the License, or (at your option) any later version.
  11.  
  12. This program is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. GNU General Public License for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with this program; if not, write to the Free Software
  19. Foundation, Inc., 59 Temple Place - Suite 330, Boston,
  20. MA 02111-1307, USA.
  21.  
  22. */
  23.  
  24. #ifndef HANDLER_PROTOS_H
  25. #define HANDLER_PROTOS_H
  26.  
  27.  
  28. #include "handler.h"
  29.  
  30.  
  31. /* Function prototypes */
  32.  
  33. struct Handler *CmdStartup(STRPTR name,struct DeviceNode *dev_node,
  34.    struct MsgPort *proc_port);
  35. BOOL CmdDie(struct Handler *handler);
  36. BOOL CmdIsFileSystem();
  37. BOOL CmdFind(struct Handler *handler,struct FileHandle *handle,
  38.    struct Lock *lock,const TEXT *name,ULONG mode);
  39. BOOL CmdFHFromLock(struct FileHandle *handle,struct Lock *lock);
  40. BOOL CmdEnd(struct Handler *handler,struct Opening *opening);
  41. UPINT CmdRead(struct Opening *opening,UBYTE *buffer,UPINT length);
  42. UPINT CmdWrite(struct Handler *handler,struct Opening *opening,
  43.    UBYTE *buffer,UPINT length);
  44. UPINT CmdSeek(struct Opening *opening,PINT offset,LONG mode);
  45. PINT CmdSetFileSize(struct Handler *handler,struct Opening *opening,
  46.    PINT offset,LONG mode);
  47. struct Lock *CmdLocateObject(struct Handler *handler,
  48.    struct Lock *lock,const TEXT *name,ULONG mode);
  49. BOOL CmdFreeLock(struct Handler *handler,struct Lock *lock);
  50. struct Lock *CmdCopyDir(struct Handler *handler,struct Lock *lock);
  51. struct Lock *CmdCopyDirFH(struct Handler *handler,
  52.    struct Opening *opening);
  53. struct Lock *CmdParent(struct Handler *handler,struct Lock *lock);
  54. struct Lock *CmdParentFH(struct Handler *handler,
  55.    struct Opening *opening);
  56. BOOL CmdSameLock(struct Lock *lock1,struct Lock *lock2);
  57. struct Lock *CmdCreateDir(struct Handler *handler,
  58.    struct Lock *lock,const TEXT *name);
  59. BOOL CmdExamineObject(struct Handler *handler,struct Lock *lock,
  60.    struct FileInfoBlock *info);
  61. BOOL CmdExamineFH(struct Handler *handler,struct Opening *opening,
  62.    struct FileInfoBlock *info);
  63. BOOL CmdExamineNext(struct Handler *handler,struct FileInfoBlock *info);
  64. BOOL CmdInfo(struct Handler *handler,struct InfoData *info_data);
  65. BOOL CmdSetProtect(struct Handler *handler,struct Lock *lock,
  66.    const TEXT *name,ULONG flags);
  67. BOOL CmdSetComment(struct Handler *handler,struct Lock *lock,
  68.    const TEXT *name,const TEXT *comment);
  69. BOOL CmdRenameObject(struct Handler *handler,struct Lock *old_lock,
  70.    STRPTR old_name,struct Lock *new_lock,STRPTR new_name);
  71. BOOL CmdRenameDisk(struct Handler *handler,STRPTR new_name);
  72. BOOL CmdSetDate(struct Handler *handler,struct Lock *lock,STRPTR name,
  73.    struct DateStamp *date);
  74. BOOL CmdDeleteObject(struct Handler *handler,struct Lock *lock,
  75.    STRPTR name);
  76. struct DosList *CmdCurrentVolume(struct Handler *handler);
  77. BOOL CmdChangeMode(ULONG type,APTR thing,ULONG new_mode);
  78. BOOL CmdMakeLink(struct Handler *handler,struct Lock *lock,STRPTR name,
  79.    APTR reference,LONG link_type);
  80. BOOL CmdWriteProtect(struct Handler *handler,BOOL on,ULONG key);
  81. BOOL CmdFlush();
  82. BOOL CmdAddNotify(struct Handler *handler,struct NotifyRequest *request);
  83. BOOL CmdRemoveNotify(struct Handler *handler,struct NotifyRequest *request);
  84.  
  85. struct Object *CreateObject(struct Handler *handler,const TEXT *name,
  86.    BYTE type,struct Object *parent);
  87. BOOL HDeleteObject(struct Handler *handler,struct Object *object);
  88. BOOL DeleteObject(struct Handler *handler,struct Object *object);
  89. struct Object *GetObject(struct Handler *handler,
  90.    struct Lock *lock,const TEXT *name,struct Object **parent);
  91. PINT ChangeFileSize(struct Handler *handler,struct Opening *opening,
  92.    PINT offset,LONG mode);
  93. UPINT ReadData(struct Opening *opening,UBYTE *buffer,UPINT length);
  94. UPINT WriteData(struct Handler *handler,struct Opening *opening,
  95.    UBYTE *buffer,UPINT length);
  96. struct Lock *LockObject(struct Handler *handler,
  97.    struct Object *object,LONG access);
  98. BOOL ExamineObject(struct Handler *handler,struct Object *object,
  99.    struct FileInfoBlock *info);
  100. BOOL SetName(struct Handler *handler,struct Object *object,
  101.    const TEXT *name);
  102. struct Lock *FixLock(struct Handler *handler,struct Lock *lock);
  103. struct Block *AddDataBlock(struct Handler *handler,struct Object *file,
  104.    UPINT length);
  105. VOID FreeDataBlock(struct Object *file,struct Block *block);
  106. UPINT GetBlockLength(struct Object *file,struct Block *block);
  107. struct Object *GetRealObject(struct Object *object);
  108.  
  109. VOID MatchNotifyRequests(struct Handler *handler);
  110. VOID NotifyAll(struct Handler *handler,struct Object *object,
  111.    BOOL notify_links);
  112. VOID ReceiveNotifyReply(struct Handler *handler,
  113.    struct NotifyMessage *message);
  114. struct Notification *FindNotification(struct Handler *handler,
  115.    struct NotifyRequest *request);
  116. VOID Notify(struct Handler *handler,struct Notification *notification);
  117.  
  118. UBYTE *MkBStr(STRPTR str);
  119.  
  120. PINT SetString(TEXT **field,const TEXT *new_str);
  121. PINT SwapStrings(TEXT **field1,TEXT **field2);
  122. UPINT StrLen(const TEXT *s);
  123. UPINT StrSize(const TEXT *s);
  124. struct Node *FindNameNoCase(struct List *start,const TEXT *name);
  125. struct DosList *MyMakeDosEntry(const TEXT *name,LONG type);
  126. VOID MyFreeDosEntry(struct DosList *entry);
  127. BOOL MyRenameDosEntry(struct DosList *entry,const TEXT *name);
  128.  
  129.  
  130. #endif
  131.  
  132.  
  133.